home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / prfl200.zip / SYSOP.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-06-16  |  4KB  |  260 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     String   STRING001
  20.     String   STRING002
  21.     String   STRING003
  22.     String   STRING004
  23.     String   STRING005
  24.     String   STRING006
  25.  
  26. ;------------------------------------------------------------------------------
  27.  
  28.     If (Exist(PPEPath() + "PROFILE.CFG")) Then
  29.         FOpen 1, PPEPath() + "PROFILE.CFG", 0, 0
  30.         FGet 1, STRING004
  31.         FGet 1, STRING005
  32.         FGet 1, STRING006
  33.         FClose 1
  34.         If (Ferr(1)) Then
  35.             PrintLn "Error opening Configuration File. Inform SysOp Immediately!"
  36.         Endif
  37.     Else
  38.         PrintLn "Configuration file does not exist. This program will not run without"
  39.         PrintLn "the 'PROFILE.CFG' file in the same directory as the 'PROFILE.PPE'."
  40.         End
  41.     Endif
  42.     Cls
  43.     If (Exist(PPEPath() + "SysOp.mnu")) DispFile PPEPath() + "SysOp.mnu", 4 + 2 + 1
  44.     InputStr "SysOp Command", STRING002, 14, 1, "12qQ", 2 + 4 + 128
  45.     If ((Upper(STRING002) == "Q") || (STRING002 == "")) Then
  46.         Goto LABEL005
  47.     Else
  48.         Select Case (STRING002)
  49.             Case 1
  50.                 Goto LABEL001
  51.             Case 2
  52.                 Goto LABEL002
  53.             Endif
  54.     End Select
  55.     :LABEL001
  56.     Cls
  57.     If (Exist(PPEPath() + "CONVERT.PPE")) Then
  58.         Call PPEPath() + "Convert.PPE"
  59.     Else
  60.         PrintLn "Convert file missing. Inform the SysOp Immediately."
  61.     Endif
  62.     End
  63.     :LABEL002
  64.     Delete STRING006 + "\List.dat"
  65.     Newlines 3
  66.     Print "@X0DReading Index@X0F--" + STRING003
  67.     If (Exist(STRING006 + "\INDEX-A")) Then
  68.         STRING003 = "A"
  69.         Gosub LABEL003
  70.     Endif
  71.     If (Exist(STRING006 + "\INDEX-B")) Then
  72.         STRING003 = "B"
  73.         Gosub LABEL003
  74.     Endif
  75.     If (Exist(STRING006 + "\INDEX-C")) Then
  76.         STRING003 = "C"
  77.         Gosub LABEL003
  78.     Endif
  79.     If (Exist(STRING006 + "\INDEX-D")) Then
  80.         STRING003 = "D"
  81.         Gosub LABEL003
  82.     Endif
  83.     If (Exist(STRING006 + "\INDEX-E")) Then
  84.         STRING003 = "E"
  85.         Gosub LABEL003
  86.     Endif
  87.     If (Exist(STRING006 + "\INDEX-F")) Then
  88.         STRING003 = "F"
  89.         Gosub LABEL003
  90.     Endif
  91.     If (Exist(STRING006 + "\INDEX-G")) Then
  92.         STRING003 = "G"
  93.         Gosub LABEL003
  94.     Endif
  95.     If (Exist(STRING006 + "\INDEX-H")) Then
  96.         STRING003 = "H"
  97.         Gosub LABEL003
  98.     Endif
  99.     If (Exist(STRING006 + "\INDEX-I")) Then
  100.         STRING003 = "I"
  101.         Gosub LABEL003
  102.     Endif
  103.     If (Exist(STRING006 + "\INDEX-J")) Then
  104.         STRING003 = "J"
  105.         Gosub LABEL003
  106.     Endif
  107.     If (Exist(STRING006 + "\INDEX-K")) Then
  108.         STRING003 = "K"
  109.         Gosub LABEL003
  110.     Endif
  111.     If (Exist(STRING006 + "\INDEX-L")) Then
  112.         STRING003 = "L"
  113.         Gosub LABEL003
  114.     Endif
  115.     If (Exist(STRING006 + "\INDEX-M")) Then
  116.         STRING003 = "M"
  117.         Gosub LABEL003
  118.     Endif
  119.     If (Exist(STRING006 + "\INDEX-N")) Then
  120.         STRING003 = "N"
  121.         Gosub LABEL003
  122.     Endif
  123.     If (Exist(STRING006 + "\INDEX-O")) Then
  124.         STRING003 = "O"
  125.         Gosub LABEL003
  126.     Endif
  127.     If (Exist(STRING006 + "\INDEX-P")) Then
  128.         STRING003 = "P"
  129.         Gosub LABEL003
  130.     Endif
  131.     If (Exist(STRING006 + "\INDEX-Q")) Then
  132.         STRING003 = "Q"
  133.         Gosub LABEL003
  134.     Endif
  135.     If (Exist(STRING006 + "\INDEX-R")) Then
  136.         STRING003 = "R"
  137.         Gosub LABEL003
  138.     Endif
  139.     If (Exist(STRING006 + "\INDEX-S")) Then
  140.         STRING003 = "S"
  141.         Gosub LABEL003
  142.     Endif
  143.     If (Exist(STRING006 + "\INDEX-T")) Then
  144.         STRING003 = "T"
  145.         Gosub LABEL003
  146.     Endif
  147.     If (Exist(STRING006 + "\INDEX-U")) Then
  148.         STRING003 = "U"
  149.         Gosub LABEL003
  150.     Endif
  151.     If (Exist(STRING006 + "\INDEX-V")) Then
  152.         STRING003 = "V"
  153.         Gosub LABEL003
  154.     Endif
  155.     If (Exist(STRING006 + "\INDEX-W")) Then
  156.         STRING003 = "W"
  157.         Gosub LABEL003
  158.     Endif
  159.     If (Exist(STRING006 + "\INDEX-X")) Then
  160.         STRING003 = "X"
  161.         Gosub LABEL003
  162.     Endif
  163.     If (Exist(STRING006 + "\INDEX-Y")) Then
  164.         STRING003 = "Y"
  165.         Gosub LABEL003
  166.     Endif
  167.     If (Exist(STRING006 + "\INDEX-Z")) Then
  168.         STRING003 = "Z"
  169.         Gosub LABEL003
  170.     Endif
  171.     Newlines 2
  172.     PrintLn "List Data file has been recreated."
  173.     End
  174.     :LABEL003
  175.     Backup 1
  176.     Print "@X0C" + STRING003
  177.     FOpen 1, STRING006 + "\Index-" + STRING003, 2, 0
  178.     :LABEL004
  179.     FGet 1, STRING001
  180.     If (Left(STRING001, 16) == "Version 2.0 Data") Then
  181.         Goto LABEL004
  182.     Endif
  183.     If (Left(STRING001, 10) == "Dummy Name") Then
  184.         PrintLn "Data is not 2.0 Data. Please Convert it First!"
  185.         End
  186.     ElseIf (STRING001 == "") Then
  187.         FClose 1
  188.         FClose 2
  189.         Return
  190.     Else
  191.         FAppend 2, STRING006 + "\List.dat", 1, 3
  192.         FPutLn 2, Left(Mixed(STRING001), 25)
  193.         Goto LABEL004
  194.     Endif
  195.     :LABEL005
  196.     End
  197.  
  198. ;------------------------------------------------------------------------------
  199. ;
  200. ; Usage report (before postprocessing)
  201. ;
  202. ; ■ Statements used :
  203. ;
  204. ;    5       End
  205. ;    2       Cls
  206. ;    46      Goto 
  207. ;    26      Let 
  208. ;    2       Print 
  209. ;    6       PrintLn 
  210. ;    36      If 
  211. ;    1       DispFile 
  212. ;    2       FOpen 
  213. ;    1       FAppend 
  214. ;    3       FClose 
  215. ;    4       FGet 
  216. ;    1       FPutLn 
  217. ;    1       Delete 
  218. ;    1       InputStr 
  219. ;    26      Gosub 
  220. ;    1       Return
  221. ;    2       Newlines 
  222. ;    1       Call 
  223. ;    1       Backup 
  224. ;
  225. ;
  226. ; ■ Functions used :
  227. ;
  228. ;    42      +
  229. ;    7       ==
  230. ;    35      !
  231. ;    1       ||
  232. ;    1       Upper()
  233. ;    3       Left()
  234. ;    1       Ferr()
  235. ;    6       PPEPath()
  236. ;    29      Exist()
  237. ;    1       Mixed()
  238. ;
  239. ;------------------------------------------------------------------------------
  240. ;
  241. ; Analysis flags : C
  242. ;
  243. ; C - Call child PPE ■ 3
  244. ;     This is usually normal, but may be a tricky way to launch some
  245. ;     sysop-only commands.
  246. ;     ■ Search for : CALL
  247. ;
  248. ;------------------------------------------------------------------------------
  249. ;
  250. ; Postprocessing report
  251. ;
  252. ;    0       For/Next
  253. ;    0       While/EndWhile
  254. ;    33      If/Then or If/Then/Else
  255. ;    1       Select Case
  256. ;
  257. ;------------------------------------------------------------------------------
  258. ;                 AEGiS Corp - Break the routines, code against the machines!
  259. ;------------------------------------------------------------------------------
  260.